/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package datapackage;

/**
 *
 * @author salim
 */
public class HoraireMatrice {

   String [][] matriceStr;
   int [][] matriceInt;
   int p=0;//periode-rows
   int j=0;//jour-colonnes
   String intitule;
   int noenseig;
   String type;//type de la matrice


   //public static void main(String []args){

       //creation d'une matrice de type string,insertion d'une valeur et puis retour la valeur
      // HoraireMatrice m=new HoraireMatrice(3,6,"string");
       //m.setValeurStr(2, 0, "physiue");
     //  System.out.print(m.getValeurStr(2, 0));

       //creation d'une matrice de type int
       //HoraireMatrice m=new HoraireMatrice(3,6,"int");
       //m.setValeurInt(2, 5, 1000000);
      // System.out.print(m.getValeurInt(2, 5));
  // }



   //constructor without param can be used as a bean in jspuse Bean
   public HoraireMatrice() {
      matriceStr=new String [3][6];
      matriceInt=new int [3][6];
    }
   //contructeur avec parametre,cant used as a bean
   //creer une matrice de type int ou string passer par parametre
    //cette partie elle n'est pas utilisable dans le jsp,car le contructeur du bean n'a pas des parametre
    public HoraireMatrice(int p,int j,String type){
        this.p=p;
        this.j=j;
        this.type=type;
        if (type.equalsIgnoreCase("string")){
        //matriceStr=new String[p][j];
        for(int i=0;i<p;i++){
            for(int k=0;k<j;k++){
                matriceStr[i][k]=" ";
            }
           }
         }

        else if(type.equalsIgnoreCase("int")){
        //matriceInt=new int[p][j];
        for(int i=0;i<p;i++){
            for(int k=0;k<j;k++){
                matriceInt[i][k]=0;
              }
           }

         }
     }//fin HoraireMatrice

    public int getValeurInt(int p,int j){
      return  this.matriceInt[p][j];

    }
    //when i put this methode in jsp page(matriceStr.getvaluestr(0,0) it indicats exceptions:null pointer exception
    public String getValeurStr(int p,int j){
       if (this.matriceStr[p][j]==null){
           String x="0";
           return x;
       }
       else { return this.matriceStr[p][j];}
    }

     //methode qui insere une valeur avec la position dans une matrice de type string
    public boolean setValeurStr(int p,int j,String intitule){
        this.intitule=intitule;
        this.p=p;
        this.j=j;
        matriceStr[p][j]=intitule;

        return true;

    }
   public boolean setValeurInt(int p,int j,int noenseig){
        this.noenseig=noenseig;
        this.p=p;
        this.j=j;
        matriceInt[p][j]=noenseig;

        return true;

    }
    public int[][] getMatriceInt() {
        return matriceInt;
    }

    public void setMatriceInt(int[][] matriceInt) {
        this.matriceInt = matriceInt;
    }

    public String[][] getMatriceStr() {
        return matriceStr;
    }

    public void setMatriceStr(String[][] matriceStr) {
        this.matriceStr = matriceStr;
    }

    //matrice de type string avec une seul valeur d'intitule
    //public void MatriceStr(int p,int j,String intitule) {
    /*    this.p=p;
        this.j=j;
        this.intitule=intitule;
        matriceStr=new String[p][j];
        for(int i=0;i<p;i++){
            for(int k=0;k<j;k++){
                matriceStr[p][j]=intitule;
            }
        }

    }
     **/
//methode
     public void MatriceInt(int p,int j,int noenseig) {
        this.p=p;
        this.j=j;
        this.noenseig=noenseig;
        matriceInt=new int[p][j];
        for(int i=0;i<p;i++){
            for(int k=0;k<j;k++){
                matriceInt[p][j]=noenseig;
            }
        }
    }



    //afficher matrice
    public void AfficherMatriceStr(HoraireMatrice horairematrice) {

        for(int i=0;i<p;i++){
            for(int k=0;k<j;k++){
                matriceStr[p][j]=intitule;
            }
        }

    }
    public String getIntitule() {
        return intitule;
    }

    public void setIntitule(String intitule) {
        this.intitule = intitule;
    }

    public int getNoenseig() {
        return noenseig;
    }

    public void setNoenseig(int noenseig) {
        this.noenseig = noenseig;
    }





}
